home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / misc / dspice0s / extnam.c < prev    next >
C/C++ Source or Header  |  1992-11-21  |  3KB  |  109 lines

  1. /* extnam.f -- translated by f2c (version of 3 February 1990  3:36:42).
  2.    You must link the resulting object file with the libraries:
  3.     -lF77 -lI77 -lm -lc   (in that order)
  4. */
  5.  
  6. #include "f2c.h"
  7.  
  8. /* Common Block Declarations */
  9.  
  10. struct {
  11.     integer ielmnt, isbckt, nsbckt, iunsat, nunsat, itemps, numtem, isens, 
  12.         nsens, ifour, nfour, ifield, icode, idelim, icolum, insize, 
  13.         junode, lsbkpt, numbkp, iorder, jmnode, iur, iuc, ilc, ilr, 
  14.         numoff, isr, nmoffc, iseq, iseq1, neqn, nodevs, ndiag, iswap, 
  15.         iequa, macins, lvnim1, lx0, lvn, lynl, lyu, lyl, lx1, lx2, lx3, 
  16.         lx4, lx5, lx6, lx7, ld0, ld1, ltd, imynl, imvn, lcvn, nsnod, 
  17.         nsmat, nsval, icnod, icmat, icval, loutpt, lpol, lzer, irswpf, 
  18.         irswpr, icswpf, icswpr, irpt, jcpt, irowno, jcolno, nttbr, nttar, 
  19.         lvntmp;
  20. } tabinf_;
  21.  
  22. #define tabinf_1 tabinf_
  23.  
  24. struct {
  25.     doublereal value[200000];
  26. } blank_;
  27.  
  28. #define blank_1 blank_
  29.  
  30. /* Table of constant values */
  31.  
  32. static integer c__1 = 1;
  33.  
  34. /*<       subroutine extnam(aname,index) >*/
  35. /* Subroutine */ int extnam_(aname, index)
  36. doublereal *aname;
  37. integer *index;
  38. {
  39.     /* System generated locals */
  40.     integer i_1;
  41.  
  42.     /* Local variables */
  43.     static doublereal anam;
  44.     extern integer xxor_();
  45. #define nodplc ((integer *)&blank_1)
  46. #define cvalue ((complex *)&blank_1)
  47.     extern /* Subroutine */ int extmem_();
  48.  
  49. /*<       implicit double precision (a-h,o-z) >*/
  50.  
  51. /*     this routine adds 'aname' to the list of 'unsatisfied' names (that 
  52. */
  53. /* is, names which can only be resolved after subcircuit expansion). */
  54.  
  55. /* spice version 2g.6  sccsid=tabinf 3/15/83 */
  56. /*<       common /tabinf/ ielmnt,isbckt,nsbckt,iunsat,nunsat,itemps,numtem, >*/
  57. /*<      1   isens,nsens,ifour,nfour,ifield,icode,idelim,icolum,insize, >*/
  58. /*<      2   junode,lsbkpt,numbkp,iorder,jmnode,iur,iuc,ilc,ilr,numoff,isr, >*/
  59. /*<      3   nmoffc,iseq,iseq1,neqn,nodevs,ndiag,iswap,iequa,macins,lvnim1, >*/
  60. /*<      4   lx0,lvn,lynl,lyu,lyl,lx1,lx2,lx3,lx4,lx5,lx6,lx7,ld0,ld1,ltd, >*/
  61. /*<      5   imynl,imvn,lcvn,nsnod,nsmat,nsval,icnod,icmat,icval, >*/
  62. /*<      6   loutpt,lpol,lzer,irswpf,irswpr,icswpf,icswpr,irpt,jcpt, >*/
  63. /*<      7   irowno,jcolno,nttbr,nttar,lvntmp >*/
  64. /* spice version 2g.6  sccsid=blank 3/15/83 */
  65. /*<       common /blank/ value(200000) >*/
  66. /*<       integer nodplc(64) >*/
  67. /*<       complex cvalue(32) >*/
  68. /*<       equivalence (value(1),nodplc(1),cvalue(1)) >*/
  69. /*<       integer xxor >*/
  70.  
  71.  
  72. /*<       anam=aname >*/
  73.     anam = *aname;
  74. /*<       if (nunsat.eq.0) go to 20 >*/
  75.     if (tabinf_1.nunsat == 0) {
  76.     goto L20;
  77.     }
  78. /*<       do 10 index=1,nunsat >*/
  79.     i_1 = tabinf_1.nunsat;
  80.     for (*index = 1; *index <= i_1; ++(*index)) {
  81. /*<       if (xxor(anam,value(iunsat+index)).eq.0) go to 30 >*/
  82.     if (xxor_(&anam, &blank_1.value[tabinf_1.iunsat + *index - 1]) == 0) {
  83.  
  84.         goto L30;
  85.     }
  86. /*<    10 continue >*/
  87. /* L10: */
  88.     }
  89.  
  90. /*<    20 call extmem(iunsat,1) >*/
  91. L20:
  92.     extmem_(&tabinf_1.iunsat, &c__1);
  93. /*<       nunsat=nunsat+1 >*/
  94.     ++tabinf_1.nunsat;
  95. /*<       index=nunsat >*/
  96.     *index = tabinf_1.nunsat;
  97. /*<       value(iunsat+index)=anam >*/
  98.     blank_1.value[tabinf_1.iunsat + *index - 1] = anam;
  99. /*<    30 return >*/
  100. L30:
  101.     return 0;
  102. /*<       end >*/
  103. } /* extnam_ */
  104.  
  105. #undef cvalue
  106. #undef nodplc
  107.  
  108.  
  109.